package com.smartleanx.module.hrm.dal.dataobject.dingDing;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;

/**
 * <p>
 *
 * </p>
 *
 * @author mybatis-plus
 * @since 2025-02-12
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("ding_false_diligence")
public class DingFalseDiligence extends Model<DingFalseDiligence> {

    private static final long serialVersionUID = 1L;


    private Integer id;

    /**
     * 假期规则唯一标识
     */
    private String leaveCode;

    /**
     * 假期名称
     */
    private String leaveName;

    /**
     * day：天		halfDay：半天		hour：小时
     */
    private String leaveViewUnit;

    /**
     * 请假证明
     */
    private String leaveCertificate;

    /**
     * 请假证明单位。		hour：小时		day：天
     */
    private String leaveCertificateUnit;

    /**
     * 是否开启请假证明。		true：开启		false：未开启
     */
    private String leaveCertificatEnable;

    /**
     * 请假提示文案。
     */
    private String leaveCertificatePromptInformation;

    /**
     * 限时提交规则。
     */
    private String submitTimeRule;

    /**
     * 时间单位。		day：天		hour：小时
     */
    private String submitTimeRuleTimeUnit;

    /**
     * 限制类型。		before：提前		after：补交
     */
    private String submitTimeRuleTimeType;


//    private String submitTimeRuleTimeValue;
    /**
     * 是否开启限时提交功能。		true：开启		false：不开启
     */
    private String submitTimeRuleEnableTimeLimit;

    /**
     * 假期类型。		general_leave：普通假期		lieu_leave：加班转调休
     */
    private String bizType;

    /**
     * 是否按照自然日统计请假时长。		true：按照自然日统计请假时长		false：不按照自然日统计请假时长
     */
    private String naturalDayLeave;

    /**
     * 有效类型。		absolute_time：绝对时间		relative_time：相对时间
     */
    private String validityType;

    /**
     * 延长日期。		当validity_type为absolute_time该值不为空且满足“yy-mm”格式。		当validity_type为relative_time该值为大于1的整数
     */
    private String validityValue;

    /**
     * 每天折算的工作时长，百分之一。		例如：1天=10小时=1000。
     */
    private String hoursInPerDay;

    /**
     * 假期来源。		external：开放接口自定义的		inner：oa后台新建的
     */
    private String source;

//    private Integer leaveCertificateDuration;

    private Integer leaveRulesType;

    private Integer leaveAmount;


    @TableField(exist = false)
    private Integer time;


}
